开发参考:事件列表与消息格式

本文介绍DataWorks的事件类型、消息格式、以及消息中各字段含义,本文档可帮助您快速获取和查询相应的事件列表以及消息格式的信息。

背景介绍

在DataWorks中,事件根据是否能在DataWorks内部形成卡点,以及是否能在被自建服务订阅后返回处理结果,被划分为普通事件和扩展点事件。

  • 普通事件:用户可订阅此类事件消息,但不支持阻断DataWorks内部操作,您可以通过OpenEvent订阅此类事件消息,详情请参见开放事件(OpenEvent)

  • 扩展点事件:用户订阅这类事件消息后,您可以通过DataWorks开放平台的扩展程序功能自定义事件消息的响应。即当使用扩展程序(Extensions)对扩展点的操作进行管控时,DataWorks平台使用者在平台侧针对扩展点的操作将被中断,直至您自定义的扩展程序返回处理结果。

本列表按照模块将各模块支持的事件及该事件所属类型(普通事件扩展点事件)进行划分,并列出EventBridge 事件类型(Type)以及扩展程序事件编码(eventCode)

  • EventBridge 事件类型(Type):用于过滤事件消息的字段。具体详情请参见开启消息订阅

  • 扩展程序事件编码(eventCode):事件类型对应的事件编码,在本地开发时,该编码可从DataWorks发出的消息内容中获取,用来判断目标事件类型。

空间级事件

空间级模块生成的是事件为空间级事件,例如数据开发模块中对节点运行产生的事件消息、运维中心模块周期实例状态变更产生的事件消息等。您可通过下文事件列表了解各个模块支持的事件消息中,哪些为普通事件,哪些为扩展点事件,以及对应事件的发送的消息格式。

以下消息格式页签仅包含部分内容,发送给EventBridge或函数计算的完整消息,您需要结合附录:消息格式

数据开发事件列表

事件列表

事件类型

事件

普通事件

扩展点事件

EventBridge事件类型(Type)

扩展程序事件编码(eventCode)

节点相关

新增节点

  • 新建节点发布至生产

image

image

dataworks:NodeChange:NodeChangeCreated

node-change-created

更新节点

  • 开发环境修改节点

  • 修改操作发布至生产

image

image

dataworks:NodeChange:NodeChangeUpdated

node-change-updated

文件相关

  • 节点

  • 资源

  • 函数

删除文件

  • 开发环境删除节点

  • 回收站中删除节点

image

image

dataworks:FileChange:DeleteFile

delete-file

提交文件

image

image

dataworks:FileChange:CommitFile

commit-file

发布文件

image

image

dataworks:FileChange:DeployFile

deploy-file

运行代码

image

image

dataworks:FileChange:RunFile

run-file

节点代码评审

image

image

dataworks:FileChange:ReviewFile

review-file

表相关

表提交开发环境

image

image

dataworks:TableChange:CommitTable

commit-table

表发布生产环境

image

image

dataworks:TableChange:DeployTabl

deploy-table

消息格式

节点开发事件(新增、更新)

节点新增、修改、删除事件的消息实体格式(即事件消息中data字段的内容)示例如下。

{
  "datacontenttype": "application/json;charset=utf-8",
  "data": {
    "nodeName": "****",
    "programType": "ODPS_SQL",
    "cronExpress": "00 04 00 * * ?",
    "blockBusiness": false,
    "schedulerType": "NORMAL",
    "ownerId": "19****735",
    "priority": 1,
    "baselineId": 70***287,
    "operator": "19***735", //本次操作人
    "eventCode": "node-change-created",
    "repeatability": true,
    "modifyTime": 17***864,
    "createTime": 17***864,
    "tenantId": 28***656,
    "nodeId": 70***003,
    "projectId": 9***4
  }
}

字段说明如下:

字段名称

字段类型

说明

nodeName

String

节点名称。

programType

String

文件的代码类型。常用的代码可以调用ListFileType接口,查询文件的代码类型或查阅文档DataWorks节点合集

cronExpress

String

周期调度的cron表达式。

该参数与DataWorks控制台中,数据开发任务的调度配置 > 时间属性 > cron表达式对应。

配置完调度周期定时调度时间后,DataWorks会自动生成相应cron表达式。示例如下:

  • 每天凌晨5点30分定时调度:00 30 05 * * ?

  • 每个小时的第15分钟定时调度:00 15 * * * ?

  • 每隔十分钟调度一次:00 00/10 * * * ?

  • 每天8点到17点,每隔十分钟调度一次:00 00-59/10 8-17 * * * ?

  • 每月的1日0点20分自动调度:00 20 00 1 * ?

  • 从1月1日0点10分开始,每过3个月调度一次:00 10 00 1 1-12/3 ?

  • 每周二、周五的0点5分自动调度:00 05 00 * * 2,5

说明

cron表达式的限制如下:

  • 最短调度间隔时间为5分钟。

  • 每天最早调度时间为0点5分。

schedulerType

String

任务实例的调度类型,取值如下:

  • 0:NORMAL,正常调度任务。该任务会被日常调度。

  • 1:MANUAL,手动任务。该任务不会被日常调度。

  • 2:PAUSE,冻结任务。该任务被日常调度,但启动调度时直接被置为失败状态。

  • 3:SKIP,空跑任务。该任务被日常调度,但启动调度时直接被置为成功状态。

  • 4:SKIP_UNCHOOSE,临时工作流中未选择的任务,仅存在于临时工作流中,启动调度时直接被置为成功状态。

  • 5:SKIP_CYCLE,未到运行周期的周或月任务。该任务被日常调度,但启动调度时直接被置为成功状态。

  • 6:CONDITION_UNCHOOSE,上游实例中有分支(IF)节点,但是该下游节点未被分支节点选中,直接置为空跑任务。

  • 7:REALTIME_DEPRECATED,实时生成的已经过期的周期实例,该类型任务直接被置为成功状态。

ownerId

String

节点责任人的阿里云用户ID。如果该参数为空,则默认使用调用者的阿里云用户ID。

priority

Integer

任务优先级,取值为13578。数值越大,优先级越高。

baselineId

Long

基线ID。

repeatability

Boolean

节点是否可以重复运行:

  • true:可以重复运行。

  • false:不可以重复运行。

modifyTime

Long

节点最近一次的修改时间。

createTime

Long

节点的创建时间。

nodeId

Long

节点ID。

projectId

Long

节点所在的项目空间ID。

tenantId

Long

节点所属的租户ID。

operator

String

新增、修改或删除节点的用户UID。

eventCode

String

扩展程序事件编码

文件变更事件(提交、发布、运行、删除、代码评审)

  • 文件提交、发布事件的消息实体格式(即事件消息中data字段的内容)示例如下。

    {
      "datacontenttype": "application/json;charset=utf-8",
      "data": {
        "fileName": "******",
        "extensionBizId": "eb******9ce",
        "changeType": "0",
        "blockBusiness": false,
        "dataSourceName": "0_******engine",
        "operator": "19***735",
        "eventCode": "commit-file",
        "fileCreateTime": "2024-07-12 11:08:50",
        "tenantId": 28***656,
        "fileOwner": "19***735",
        "fileVersion": 1,
        "projectId": 9***4,
        "fileType": 10,
        "fileId": 50***830,
        "resourceType": 1
      }
    }

    字段说明如下:

    字段名称

    字段类型

    说明

    operator

    String

    提交或发布文件的用户UID。

    projectId

    Long

    文件所属项目空间的ID。

    tenantId

    Long

    租户ID。

    nodeId

    Long

    调度节点ID。

    fileType

    Long

    文件的代码类型,您可以调用ListFileType接口或查询文件的代码类型或查阅文档DataWorks节点合集

    fileName

    String

    文件名称。

    fileOwner

    String

    文件所有者。

    extensionBizId

    String

    扩展程序卡点流程ID。

    changeType

    String

    文件的变更类型:

    • 0:创建文件。

    • 1:更新文件。

    • 2:删除文件。

    fileCreateTime

    String

    文件的创建时间,格式为yyyy-MM-dd HH:mm:ss

    fileId

    Long

    文件ID。

    fileVersion

    Long

    文件版本。

    dataSourceName

    String

    数据源名称。

    eventCode

    String

    扩展程序事件编码。

  • 文件删除、运行事件的消息实体格式(即事件消息中data字段的内容)示例如下。

    {
      "datacontenttype": "application/json;charset=utf-8",
      "data": {
        "fileName": "***",
        "extensionBizId": "bf******6e3",
        "blockBusiness": false,
        "operator": "19***735",
        "eventCode": "delete-file",
        "fileCreateTime": "2024-07-12 11:08:50", //文件创建时间
        "tenantId": 28***656,
        "fileOwner": "19***735", //文件所有人
        "nodeId": 70***003,
        "projectId": 9***4,
        "fileType": 10,
        "fileId": 50***830,
        "resourceType": 1
      }
    }

    字段说明如下:

    字段名称

    字段类型

    说明

    operator

    String

    删除或运行文件的用户UID。

    projectId

    Long

    文件所属项目空间的ID。

    tenantId

    Long

    租户ID。

    nodeId

    Long

    调度节点ID。

    fileType

    Long

    文件的代码类型,您可以调用ListFileType接口,或查询文件的代码类型或查阅文档DataWorks节点合集

    fileName

    String

    文件名称。

    fileOwner

    String

    文件所有者。

    extensionBizId

    String

    扩展程序卡点流程ID。

    fileCreateTime

    String

    文件的创建时间,格式为yyyy-MM-dd HH:mm:ss

    fileId

    Long

    文件ID。

    eventCode

    String

    扩展程序事件编码。

  • 代码评审的消息实体格式(即事件消息中data字段的内容)示例如下。

    {
      "datacontenttype": "application/json;charset=utf-8",
      "data":{
        "id":111,
        "tenantId" : 租户Id,
        "projectId" : 项目Id,
        "status": "Reviewing",
        "resourceName": "评审文件",
        "resourceType": "评审类型",
        "resourceId": "50***9789",
        "submitTime": 1688697808000,
        "lastReviewTime": 1688697808000,
        "reviewUrl" : "评审链接",
        "reviewer": "评审人",
        "submitter": "提交人"
      }
    }

    字段说明如下:

    字段名称

    字段类型

    说明

    id

    Long

    代码评审单ID。

    tenantId

    Long

    租户ID。

    projectId

    Long

    项目空间ID。

    status

    String

    代码评审单状态:

    • Initialized:初始化

    • Reviewing:评审中

    • Accepted:评审通过

    • Rejected:评审未通过

    • Canceled:废弃

    • AutomaticCanceled:自动完成

    resourceName

    String

    评审资源名称。

    resourceType

    String

    评审资源类型,取值如下:

    • Business:业务流程

    • File:文件

    • BatchFiles:批量文件

    resourceId

    String

    评审资源ID。

    submitTime

    Long

    代码评审提交时间。

    lastReviewTime

    Long

    最近查看评审单的时间。

    reviewUrl

    String

    代码评审的详情地址。

    reviewer

    String

    代码评审的审批人。

    submitter

    String

    代码评审的提交人。

表变更事件(提交表至开发环境、发布表至生产环境)

{
  "datacontenttype": "application/json;charset=utf-8",
  "data": {
    "operator": "**************",
    "projectId": 12*****56,
    "tenantId": 12******56,
    "extensionBizId": "123456",
    "tableName":"table1",
    "tableType":"ODPS",  // ODPS或EMR
    "maxComputeProject":"project1"
  }
}

字段说明如下:

字段名称

字段类型

说明

operator

String

提交或发布表的用户UID。

projectId

Long

项目空间ID。

tenantId

Long

租户ID。

extensionBizId

String

扩展程序卡点流程ID。

tableName

String

表名称。

tableType

String

表类型,取值如下:

  • ODPS

  • EMR

maxComputeProject

String

对应MaxCompute的项目名称。

运维中心事件列表

事件列表

事件类型

事件

普通事件

扩展点事件

EventBridge事件类型

(Type)

扩展程序事件类型(eventCode)

节点变更

删除节点

  • 发布下线操作

  • 周期任务直接删除下线

image

image

dataworks:NodeChange:NodeChangeDeleted

node-change-deleted

下线节点

  • 周期任务直接下线

image

image

dataworks:NodeChange:UndeployNode

undeploy-node

冻结节点

image

image

dataworks:NodeChange:FreezeNode

freeze-node

解冻节点

image

image

dataworks:NodeChange:UnFreezeNode

unfreeze-node

节点补数据

节点补数据

image

image

dataworks:BackfillDataOperate:BackfillData

backfill-data

任务状态变更

调度任务状态变更

image

image

dataworks:InstanceStatusChanges:InstanceStatusChanges

instance-status-changes

实例运维

冻结实例

image

image

dataworks:InstanceChange:FreezeInstance

freeze-instance

解冻实例

image

image

dataworks:InstanceChange:UnfreezeInstance

unfreeze-instance

终止实例

image

image

dataworks:InstanceChange:KillInstance

kill-instance

重跑实例

  • 重跑

  • 重跑下游

image

image

dataworks:InstanceChange:RerunInstance

rerun-instance

置成功实例

image

image

dataworks:InstanceChange:SetInstanceSuccess

set-instance-success

工作流状态变更

工作流状态变更

  • 补数据实例

  • 手动业务流程

image

image

dataworks:DagStatusChanges:DagStatusChanges

instance-status-changes

监控告警

监控告警

image

image

dataworks:MonitorAlert:WorkbenchMonitorAlert

workbench-monitor-alert

消息格式

节点变更事件(删除、下线、冻结、解冻)

  • 节点删除事件的消息实体格式(即事件消息中data字段的内容)示例如下。

    {
      "datacontenttype": "application/json;charset=utf-8",
      "data": {
        "nodeName": "",
        "programType": "ODPS_SQL",
        "cronExpress": "00 20 00 * * ?",
        "schedulerType": "NORMAL",
        "ownerId": "1912232488744735",
        "priority": 1,
        "baselineId": 117801853,
        "repeatability": true,
        "modifyTime": 1646364549642,
        "createTime": 1646364549642,
        "datasource": "odps_source",
        "tenantId": 28378****10656,
        "nodeId": 100***150,
        "projectId": 30**95,
        "operator": "**************"  //本次操作人
      }
    }

    字段说明如下:

    字段名称

    字段类型

    说明

    nodeName

    String

    节点名称。

    programType

    String

    文件的代码类型。常用的代码可以调用ListFileType接口,查询文件的代码类型或查阅文档DataWorks节点合集

    cronExpress

    String

    周期调度的cron表达式。

    该参数与DataWorks控制台中,数据开发任务的调度配置 > 时间属性 > cron表达式对应。

    配置完调度周期定时调度时间后,DataWorks会自动生成相应cron表达式。示例如下:

    • 每天凌晨5点30分定时调度:00 30 05 * * ?

    • 每个小时的第15分钟定时调度:00 15 * * * ?

    • 每隔十分钟调度一次:00 00/10 * * * ?

    • 每天8点到17点,每隔十分钟调度一次:00 00-59/10 8-17 * * * ?

    • 每月的1日0点20分自动调度:00 20 00 1 * ?

    • 从1月1日0点10分开始,每过3个月调度一次:00 10 00 1 1-12/3 ?

    • 每周二、周五的0点5分自动调度:00 05 00 * * 2,5

    说明

    cron表达式的限制如下:

    • 最短调度间隔时间为5分钟。

    • 每天最早调度时间为0点5分。

    schedulerType

    String

    任务实例的调度类型,取值如下:

    • 0:NORMAL,正常调度任务。该任务会被日常调度。

    • 1:MANUAL,手动任务。该任务不会被日常调度。

    • 2:PAUSE,冻结任务。该任务被日常调度,但启动调度时直接被置为失败状态。

    • 3:SKIP,空跑任务。该任务被日常调度,但启动调度时直接被置为成功状态。

    • 4:SKIP_UNCHOOSE,临时工作流中未选择的任务,仅存在于临时工作流中,启动调度时直接被置为成功状态。

    • 5:SKIP_CYCLE,未到运行周期的周或月任务。该任务被日常调度,但启动调度时直接被置为成功状态。

    • 6:CONDITION_UNCHOOSE,上游实例中有分支(IF)节点,但是该下游节点未被分支节点选中,直接置为空跑任务。

    • 7:REALTIME_DEPRECATED,实时生成的已经过期的周期实例,该类型任务直接被置为成功状态。

    ownerId

    String

    节点责任人的阿里云用户ID。如果该参数为空,则默认使用调用者的阿里云用户ID。

    priority

    Integer

    任务优先级,取值为13578。数值越大,优先级越高。

    baselineId

    Long

    基线ID。

    repeatability

    Boolean

    节点是否可以重复运行:

    • true:可以重复运行。

    • false:不可以重复运行。

    modifyTime

    Long

    节点最近一次的修改时间。

    createTime

    Long

    节点的创建时间。

    nodeId

    Long

    节点ID。

    projectId

    Long

    节点所在的项目空间ID。

    tenantId

    Long

    节点所属的租户ID。

    operator

    String

    新增、修改或删除节点的用户UID。

  • 节点冻结、解冻、下线事件的消息实体格式(即事件消息中data字段的内容)示例如下。

    {
      "datacontenttype": "application/json;charset=utf-8",
      "data": {
        "operator": "**************",
        "projectId": 123456,
        "tenantId": 123456,
        "nodeIds":[1,2,3],
        "extensionBizId": "123456"
      }
    }

    字段说明如下:

    字段名称

    字段类型

    说明

    operator

    String

    冻结、解冻、下线节点的用户UID。

    projectId

    Long

    节点所在项目空间ID。

    tenantId

    Long

    租户ID。

    nodeIds

    Array

    被操作的节点ID列表。

    extensionBizId

    String

    扩展程序卡点流程ID 。

节点补数据

补数据操作事件的消息实体格式(即事件消息中data字段的内容)示例如下。

{
  "datacontenttype": "application/json;charset=utf-8",
  "data": {
    "excludeNodeIds":[],
    "rootNodeId": 10000838271,
    "startFutureInstanceImmediately": false,
    "useMultipleTimePeriods": true,
    "operator": "1320876710332592",
    "eventCode": "backfill-data",
    "multipleTimePeriods": "[{\"bizBeginTime\":\"2022-04-17\",\"bizEndTime\":\"2022-04-17\"}]",
    "parallelGroup": 1,
    "rootNodeProjectId": 12*****8,
    "isParallel": false,
    "name": "P_fff_20220418_215404",
    "tenantId": 16935*****3377,
    "includeNodeIds":
    [
      10***271
    ],
    "projectId": 12958,
    "order": "asc",
    "extensionBizId": "123456"
  }
}

字段说明如下:

字段名称

字段类型

说明

name

String

补数据工作流的名称。

rootNodeId

Long

补数据工作流根节点ID。

rootNodeProjectId

Long

补数据工作流根节点所在的项目空间ID。

includeNodeIds

Array

补数据的节点ID列表。

excludeNodeIds

Array

无需补数据的节点ID列表。该列表中的节点会生成空跑实例,空跑实例被调度后直接运行成功,不会执行脚本内容。

bizBeginTime

String

任务的开始时间。仅小时调度任务需要设置该参数,格式为HH:mm:ss,取值范围为 00:00:00~23:59:59

bizEndTime

String

任务的结束时间。仅小时调度任务需要设置该参数,格式为HH:mm:ss,取值范围为 00:00:00~23:59:59

isParallel

Boolean

补数据操作是否可以并行运行:

  • true:可以并行。

  • false:不可以并行。

parallelGroup

Integer

并行运行的分组数,1表示不分组。

startFutureInstanceImmediately

Boolean

是否跳过调度时间,立即调度运行未来时间的实例:

  • true:跳过调度时间,立即执行未来实例。

  • false:不跳过调度时间,不会立即执行未来实例。

order

String

根据业务日期制定补数据运行的顺序:

  • acs:表示按照业务日期正序运行。

  • desc:表示按照业务日期倒序运行。

multipleTimePeriods

String

分段选取业务日期。示例,[{\"bizBeginTime\":\"2022-04-17\",\"bizEndTime\":\"2022-04-17\"}]

tenantId

Long

租户ID。

projectId

Long

补数据操作所在的项目ID。

operator

String

执行补数据操作的用户。

extensionBizId

String

扩展程序卡点流程ID。

eventCode

String

扩展程序事件编码。

任务状态变更事件

调度任务状态变更事件的消息实体格式(即事件消息中data字段的内容)示例如下。

{
  "datacontenttype": "application/json;charset=utf-8",
  "data": {
    "beginWaitTimeTime": 1652700576000,
    "dagId": 446555330,
    "dagType": 0,
    "eventCode": "instance-status-changes",
    "taskType": 0,
    "modifyTime": 1652700577000,
    "createTime": 1652543233000,
    "appId": 3*****2,
    "tenantId": 235454***432001,
    "opCode": 31,
    "flowId": 1,
    "nodeId": 1002698219,
    "beginWaitResTime": 1652700577000,
    "taskId": 4532688169,
    "status": 3
  }
}

字段说明如下:

字段名称

字段类型

说明

finishTime

Long

调度任务实例运行完成的具体时间。

beginWaitTimeTime

Long

调度任务实例开始等待运行的具体时间。

beginRunningTime

Long

调度任务实例开始运行的具体时间。

dagId

Long

根据DagId可获取Dag详情。

dagType

Integer

Dag的类型,取值如下:

  • 0:周期调度任务

  • 1:手动任务

  • 2:冒烟测试

  • 3:补数据

  • 4:临时业务流程

  • 5:手动业务流程

taskType

Integer

任务实例的调度类型,取值如下:

  • 0:NORMAL,正常调度任务。该任务会被日常调度。

  • 1:MANUAL,手动任务。该任务不会被日常调度。

  • 2:PAUSE,冻结任务。该任务被日常调度,但启动调度时直接被置为失败状态。

  • 3:SKIP,空跑任务。该任务被日常调度,但启动调度时直接被置为成功状态。

  • 4:SKIP_UNCHOOSE,临时工作流中未选择的任务,仅存在于临时工作流中,启动调度时直接被置为成功状态。

  • 5:SKIP_CYCLE,未到运行周期的周或月任务。该任务被日常调度,但启动调度时直接被置为成功状态。

  • 6:CONDITION_UNCHOOSE,上游实例中有分支(IF)节点,但是该下游节点未被分支节点选中,直接置为空跑任务。

  • 7:REALTIME_DEPRECATED,实时生成的已经过期的周期实例,该类型任务直接被置为成功状态。

modifyTime

Long

任务实例最近一次的修改时间。

createTime

Long

任务实例的创建时间。

appId

Long

工作空间的ID。您可以调用ListProjects查看空间ID信息。

tenantId

Long

调度任务实例所在工作空间的租户ID。

opCode

Integer

调度任务实例的操作码。该字段可忽略。

flowId

Long

业务流程的ID。

  • 周期调度任务实例:业务流程ID默认为1。

  • 手动业务流程和内部工作流的调度任务实例:为实际的业务流程ID。

nodeId

Long

调度任务实例对应的节点ID。

beginWaitResTime

Long

调度任务实例开始等待资源的具体时间。

taskId

Long

调度任务实例的ID。

status

Integer

任务的状态,取值如下:

  • 1:未运行。

  • 2:等待定时时间dueTimecycleTime到来。

  • 3:等待资源。

  • 4:运行中。

  • 7:下发给数据质量进行数据校验。

  • 8:正在进行分支条件校检。

  • 5:执行失败。

  • 6:执行成功。

eventCode

String

扩展程序事件编码。

实例操作事件(冻结、解冻、终止、重跑、置成功)

实例操作事件的消息实体格式(即事件消息中data字段的内容)示例如下。

{
  "datacontenttype": "application/json;charset=utf-8",
  "data": {
    "eventCode": "freeze-instance",
    "operator": "182293110403****",
    "projectId": 123488,
    "projectType": "PROD",
    "taskIds": [
      523536569736
    ],
    "tenantId": 280749521950784
  }
}

字段说明如下

字段名称

字段类型

说明

operator

String

操作实例(冻结、解冻、终止、重跑、置成功等操作)用户的UID。

projectType

String

运行环境。

  • PROD:生产环境

  • DEV:开发环境

taskIds

List<Long>

实例的ID集合。

projectId

Long

DataWorks项目空间ID。

tenantId

Long

实例所在工作空间的租户ID。

eventCode

String

扩展程序事件编码。

工作流状态变更事件

工作流状态变更事件的消息实体格式(即事件消息中data字段的内容)示例如下。

{
  "datacontenttype": "application/json;charset=utf-8",
  "data": {
    "bizDate": "2022-11-07 00:00:00",
    "createTime": "2022-11-08 10:56:32",
    "dagId": 500358972116,
    "dagName": "P_test_spark_true_copy_20221108_105631",
    "eventCode": "dag-status-changes",
    "dagType": 3,
    "flowId": 1,
    "flowName": "ATCLOUD_FLOW",
    "operator": "11****538",
    "projectEnv": "PROD",
    "projectId": 25***63,
    "status": 6,
    "tenantId": 52***736
  }
}

字段说明如下:

字段名称

字段类型

说明

bizDate

String

工作流的业务日期。格式为yyyy-mm-dd hh24:mi:ss

createTime

String

工作流的创建时间。格式为yyyy-mm-dd hh24:mi:ss

dagId

Long

DagId,根据DagId可获取Dag详情。

dagName

String

工作流的名称。

dagType

Integer

Dag的类型,取值如下:

  • 0:周期调度任务。

  • 1:手动任务。

  • 2:冒烟测试。

  • 3:补数据。

  • 4:临时业务流程。

  • 5:手动业务流程。

flowId

Integer

工作流对应的业务流程ID。

flowName

String

工作流对应的业务流程名称。

operator

String

创建工作流的用户UID。

projectEnv

String

工作流所属环境,取值如下:

  • DEV:开发环境。

  • PROD:生产环境。

tenantId

Long

调度任务实例所在工作空间的租户ID。

projectId

Long

工作空间ID。

status

Integer

工作流中任务的状态,取值如下:

  • 1:未运行。

  • 4:运行中。

  • 5:执行失败。

  • 6:执行成功。

eventCode

String

扩展程序事件编码。

监控告警

  • 基线告警的消息实体格式(即消息中data字段的内容)示例如下。

    {
      "datacontenttype": "application/json;charset=utf-8",
      "data": {
        "eventCode": "workbench-monitor-alert",
        "alarmType": "SLA_ALERT",
        "baselineId": 137000723,
        "baselineName": "ods层check任务专用 -- 小时级",
        "baselineStatus": 3,
        "bizDate": 1654444800000,
        "inGroupId": 14,
        "nodeId": 10000398734,
        "projectId": 7634,
        "taskId": 3072893778,
        "tenantId": 260953503125729
      }
    }

    字段说明如下表。

    字段名称

    字段类型

    说明

    alarmType

    String

    告警类型。取值如下:

    • SLA_ALERT

    • REMIND_ALERT

    • TOPIC_ALERT

    baselineId

    Long

    基线ID。

    baselineName

    String

    基线名称。

    baselineStatus

    Integer

    基线的状态。取值如下:

    • -1:异常。

    • 1:安全。

    • 2:预警。

    • 3:破线。

    bizDate

    Long

    业务日期时间戳。

    inGroupId

    Integer

    基线实例的周期号。天基线为1,小时基线的取值范围为[1,24]

    nodeId

    Long

    导致基线异常的节点ID。

    projectId

    Long

    基线所属项目空间ID。

    taskId

    Long

    导致基线异常的实例ID。

    tenantId

    Long

    租户ID。

    eventCode

    String

    扩展程序事件编码。

  • 事件告警的消息实体格式(即消息中data字段的内容)示例如下。

    {
      "datacontenttype": "application/json;charset=utf-8",
      "data": {
        "alarmType": "TOPIC_ALERT",
        "nodeId": 10000316315,
        "projectId": 9109,
        "taskId": 3072750357,
        "taskStatus": 5,
        "tenantId": 280749521950784,
        "topicId": 1084769
      }
    }

    字段说明如下表。

    字段名称

    字段类型

    说明

    alarmType

    String

    告警类型。取值如下:

    • SLA_ALERT

    • REMIND_ALERT

    • TOPIC_ALERT

    topicId

    Long

    事件的ID。

    taskStatus

    String

    触发事件的节点实例状态。

    nodeId

    Integer

    触发事件的节点ID。

    projectId

    Long

    触发事件的节点所属项目空间ID。

    taskId

    Long

    触发事件的节点实例ID。

    tenantId

    Long

    租户ID。

  • 任务规则告警的消息实体格式(即消息中data字段的内容)示例如下。

    说明

    通常,规则对象为任务节点、基线、工作空间、业务流程等。

    {
      "datacontenttype": "application/json;charset=utf-8",
      "data": {
        "alarmType": "REMIND_ALERT",
        "nodeIds": "10000405472,10000405473,10000405474",
        "projectId": 9876,
        "remindId": 7605,
        "remindName": "出错报警",
        "remindType": "ERROR",
        "remindUnit": "NODE",
        "taskIds": "3072900896,3072900870,3072900855",
        "tenantId": 259025816027648
      }
    }

    字段说明如下表。

    字段名称

    字段类型

    说明

    alarmType

    String

    告警类型。取值如下:

    • SLA_ALERT

    • REMIND_ALERT

    • TOPIC_ALERT

    nodeIds

    String

    触发规则告警的节点列表。

    remindId

    Long

    规则ID。

    remindType

    Stirng

    规则触发条件。取值如下:

    • FINISHED:完成。

    • UNFINISHED:未完成。

    • ERROR:运行出错。

    • CYCLE_UNFINISHED:周期未完成。

    • TIMEOUT:运行超时。

    projectId

    Long

    触发规则的节点所属项目空间ID。

    remindUnit

    String

    触发规则的对象类型。取值如下:

    • NODE:任务节点。

    • GATEWAY_RES:独享调度资源组。

    • DI_RES:数据集成资源组。

    tenantId

    Long

    租户ID。

    taskId

    String

    触发规则告警的实例列表。

    remindName

    String

    规则名称。

  • 资源组规则告警的消息实体格式(即消息中data字段的内容)示例如下。

    {
      "datacontenttype": "application/json;charset=utf-8",
      "data": {
        "alarmType": "REMIND_ALERT",
        "projectId": 2991,
        "remindId": 200000186,
        "remindName": "独享资源组告警",
        "remindType": "RES_GROUP_THRESHOLD",
        "remindUnit": "GATEWAY_RES",
        "resourceGroupIdentifier": "S_res_group_195820716552192_1650965857744",
        "resourceGroupName": "emr_exclusive_scheduld",
        "resourceGroupType": "GATEWAY",
        "tenantId": 195820716552192
      }
    }

    字段说明如下表。

    字段名称

    字段类型

    说明

    alarmType

    String

    告警类型。取值如下:

    • SLA_ALERT

    • REMIND_ALERT

    • TOPIC_ALERT

    remindId

    Long

    规则ID。

    remindType

    Stirng

    规则触发条件。取值如下:

    • FINISHED:完成。

    • UNFINISHED:未完成。

    • ERROR:运行出错。

    • CYCLE_UNFINISHED:周期未完成。

    • TIMEOUT:运行超时。

    • RES_GROUP_THRESHOL:资源组利用率。

    • RES_GROUP_WAIT_AMOUNT:资源组等待资源实例数。

    projectId

    Long

    触发规则的节点所属项目空间ID。

    remindUnit

    String

    触发规则的对象类型。取值如下:

    • NODE:任务节点。

    • GATEWAY_RES:独享调度资源组。

    • DI_RES:数据集成资源组。

    tenantId

    Long

    租户ID。

    remindName

    String

    规则名称。

    resourceGroupIdentifier

    String

    资源组的唯一标识符。

    resourceGroupName

    String

    资源组名称。

    resourceGroupType

    String

    资源组类型。取值如下:

    • GATEWAY:调度资源组。

    • DI:数据集成资源组。

安全中心事件列表

事件列表

事件类型

事件

普通事件

扩展点事件

EventBridge事件类型

(Type)

扩展程序消息类型(eventCode)

审批中心(创建、完成申请单)

创建申请单

image

image

dataworks:ApprovalChange:ApprovalChangeCreated

approval-change-created

完成申请单

image

image

dataworks:ApprovalChange:ApprovalChangeFinished

approval-change-finished

安全中心(表权限申请)

表权限申请

image

image

dataworks:ApprovalChange:ApprovalChangeBeforeCreate

approval-change-before-create

消息格式

消息实体格式:审批中心(创建、完成申请单)

  • 创建审批单事件的消息实体格式(即事件消息中data字段的内容)示例如下。

    {
      "datacontenttype": "application/json;charset=utf-8",
      "data": {
        "appId":194209,
        "assignee":"286098539641742899",
        "assigneeName":"yupeng.sunyp",
        "createTime":1652094363000,
        "eventType":"approval",
        "process":{
          "applicant":"286098539641742899",
          "applicantName":"yupeng.sunyp",
          "approvalContent":{
            "applyPeriod":"2997964800000",
            "applyReason":"测试",
            "arrayData":[
              {
                "ownerBaseId":"1822***45",
                "objectType":"TABLE",
                "odpsTable":"loghub_070103",
                "envType":1,
                "projectGuid":"odps.b_mc1",
                "objectGuid":"odps.b_mc1.loghub_070103",
                "tenantId":0,
                "objectName":"loghub_070103",
                "ownerAccountName":"ALIYUN$******(******)",
                "odpsProject":"B_MC1",
                "projectName":"B_MC1",
                "actions":[
                  "Select",
                  "Describe"
                ],
                "projectId":194209,
                "workspaceId":"194209"
              }
            ],
            "contentType":"application/json",
            "granteeAccounts":[
              {
                "granteeId":"2860985***99",
                "granteeTypeSub":103,
                "granteeType":1,
                "granteeName":"RAM$dataworks_3h1_1:yupeng.sunyp"
              },
              {
                "granteeId":"237857631119109360",
                "granteeTypeSub":105,
                "granteeType":1,
                "granteeName":"RAM$dataworks_3h1_1:dev"
              }
            ],
            "odpsProjectName":"B_MC1",
            "projectEnv":"1",
            "resourceSummary":"loghub_070103",
            "tenantId":280749521950784,
            "workspaceId":194209
          },
          "assignmentCategory":"MaxCompute",
          "createTime":1652094363000,
          "processDefinitionId":"definition-3dcc9ce7-d29d-435d-a908-60d4355ff5e2",
          "processId":"528535869984706",
          "status":"Pending",
          "title":"MaxComputeTable",
          "updateTime":1652094363000
        },
        "processId":"528535869984706",
        "status":"Submit",
        "eventCode": "approval-change-created",
        "taskId":"528535870015424",
        "tenantId":280749521950784,
        "updateTime":1652094364000
      }
    }{
      "datacontenttype": "application/json;charset=utf-8",
      "data": {
        "appId":227859,
        "assignee":"286098539641742899",
        "eventCode": "approval-change-finished",
        "assigneeName":"******.******",
        "comments":"ces",
        "createTime":1652095981000,
        "eventType":"approval",
        "process":{
            "applicant":"286098539641742899",
            "applicantName":"yupeng.sunyp",
            "approvalContent":{
                "applyPeriod":"2997964800000",
                "applyReason":"测试",
                "arrayData":[
                    {
                        "ownerBaseId":"238266539737108884", 
                        "objectType":"TABLE",
                        "odpsTable":"cdd",
                        "objectNameCn":"******",
                        "envType":1,
                        "projectGuid":"odps.da_simple_202112",
                        "objectGuid":"odps.da_simple_202112.cdd",
                        "tenantId":0,
                        "objectName":"cdd",
                        "ownerAccountName":"RAM$******(******)",
                        "odpsProject":"da_simple_202112",
                        "projectName":"da_simple_202112",
                        "actions":[
                            "Select",
                            "Describe"
                        ],
                        "projectId":227859,
                        "workspaceId":"227859"
                    }
                ],
                "contentType":"application/json",
                "granteeAccounts":[
                    {
                        "granteeId":"286098539641742899",
                        "granteeTypeSub":103,
                        "granteeType":1,
                        "granteeName":"RAM$dataworks_3h1_1:yupeng.sunyp"
                    }
                ],
                "odpsProjectName":"da_simple_202112",
                "projectEnv":"1",
                "resourceSummary":"cdd",
                "tenantId":280749521950784,
                "workspaceId":227859
            },
            "assignmentCategory":"MaxCompute",
            "createTime":1652095981000,
            "processDefinitionId":"definition-6e6418e6-c65f-4f26-a673-88576b1c1e4a",
            "processId":"528539182432192",
            "status":"Pending",
            "title":"MaxComputeTable",
            "updateTime":1652095981000
        }

    字段说明如下:

    字段名称

    字段类型

    说明

    appId

    Long

    工作空间ID。

    assignee

    String

    审批单处理人的BaseId。

    assigneeName

    String

    审批单处理人的名称。

    comments

    String

    备注信息。

    createTime

    Long

    审批单的创建时间戳。

    processId

    String

    审批单的ID。

    status

    String

    审批单的状态。

    taskId

    String

    审批任务的ID。

    tenantId

    String

    租户ID。

    updateTime

    String

    审批单更新的时间戳。

    eventType

    String

    事件类型。

    process

    Object

    审批任务对象。

    applicant

    String

    申请BaseID。

    applicantName

    String

    申请人名称。

    assignmentCategory

    String

    申请内容类型。

    createTime

    String

    审批单创建的时间戳。

    processDefinitionId

    String

    工作流定义ID。

    processId

    String

    工作流ID。

    status

    String

    工作流状态。

    title

    String

    工作流标题。

    updateTime

    Long

    审批单更新的时间戳。

    approvalContent

    Object

    审批内容对象。

    applyPeriod

    String

    审批单的申请时长。

    applyReason

    String

    审批单的申请原因。

    contentType

    String

    审批内容类型。

    odpsProjectName

    String

    审批项目名称。

    resourceSummary

    String

    资源描述。

    tenantId

    Long

    租户ID。

    workspaceId

    Long

    工作空间ID。

    projectEnv

    String

    审批项目所属环境。

    granteeAccounts

    Array

    授权列表。

    .granteeId

    String

    授权主体ID。

    granteeType

    String

    授权类型。

    granteeTypeSub

    String

    授权主体子类型。

    granteeName

    String

    授权主体名称。

    arrayData

    Array

    授权内容列表,详情请参见开发参考:事件列表与消息格式

    eventType

    String

    事件类型。

  • 完成审批单事件的消息实体格式(即事件消息中data字段的内容)示例如下。

    {
      "datacontenttype": "application/json;charset=utf-8",
      "data": {
        "appId": 227859,
        "assignee": "286098539641742899",
        "eventCode": "approval-change-finished",
        "assigneeName": "******.******",
        "comments": "ces",
        "createTime": 1652095981000,
        "eventType": "approval",
        "process": {
          "applicant": "286098539641742899",
          "applicantName": "yupeng.sunyp",
          "approvalContent": {
            "applyPeriod": "2997964800000",
            "applyReason": "测试",
            "arrayData": [
              {
                "ownerBaseId": "238266539737108884",
                "objectType": "TABLE",
                "odpsTable": "cdd",
                "objectNameCn": "******",
                "envType": 1,
                "projectGuid": "odps.da_simple_202112",
                "objectGuid": "odps.da_simple_202112.cdd",
                "tenantId": 0,
                "objectName": "cdd",
                "ownerAccountName": "RAM$******(******)",
                "odpsProject": "da_simple_202112",
                "projectName": "da_simple_202112",
                "actions": [
                  "Select",
                  "Describe"
                ],
                "projectId": 227859,
                "workspaceId": "227859"
              }
            ],
            "contentType": "application/json",
            "granteeAccounts": [
              {
                "granteeId": "286098539641742899",
                "granteeTypeSub": 103,
                "granteeType": 1,
                "granteeName": "RAM$dataworks_3h1_1:yupeng.sunyp"
              }
            ],
            "odpsProjectName": "da_simple_202112",
            "projectEnv": "1",
            "resourceSummary": "cdd",
            "tenantId": 280749521950784,
            "workspaceId": 227859
          },
          "assignmentCategory": "MaxCompute",
          "createTime": 1652095981000,
          "processDefinitionId": "definition-6e6418e6-c65f-4f26-a673-88576b1c1e4a",
          "processId": "528539182432192",
          "status": "Pending",
          "title": "MaxComputeTable",
          "updateTime": 1652095981000
        }
      }
    }

    字段说明如下:

    字段名称

    字段类型

    说明

    appId

    Long

    工作空间ID。

    assignee

    String

    审批单处理人BaseId。

    assigneeName

    String

    审批单处理人名称。

    comments

    String

    备注信息。

    createTime

    Long

    审批单的创建时间戳。

    processId

    String

    审批单ID。

    status

    String

    审批单状态。

    taskId。

    String

    审批任务ID。

    tenantId

    String

    租户ID。

    updateTime

    String

    审批单最近一次更新的时间戳。

    eventType

    String

    事件类型。

    process

    Object

    审批任务对象。

    applicant

    String

    申请BaseID。

    applicantName

    String

    申请人名称。

    assignmentCategory

    String

    申请内容类型。

    createTime

    String

    审批单创建的时间戳。

    processDefinitionId

    String

    工作流定义ID。

    processId

    String

    工作流ID。

    status

    String

    工作流状态。

    title

    String

    工作流标题。

    updateTime

    Long

    审批单更新的时间戳。

    approvalContent

    Object

    审批内容对象。

    applyPeriod

    String

    申请时长。

    applyReason

    String

    申请原因。

    contentType

    String

    内容类型。

    odpsProjectName

    String

    项目名称。

    resourceSummary

    String

    资源描述。

    tenantId

    Long

    租户ID。

    workspaceId

    Long

    工作空间ID。

    projectEnv

    String

    所属环境。

    granteeAccounts

    Array

    授权列表。

    granteeId

    String

    授权主体ID。

    granteeType

    String

    授权类型。

    granteeTypeSub

    String

    授权主体子类型。即授权账号类型,具体如下:

    • 生产云账号(生产调度使用的账号):ACCOUNT_PRD(101)

    • 应用云账号:ACCOUNT_APP(102)

    • 个人云账号:ACCOUNT_USER(103)

    • 部门云账号:ACCOUNT_DEPT(104)

    • MOCK账号:ACCOUNT_MOCK(106)

    • 他人云账号:ACCOUNT_OTHER_USER(105)

    granteeName

    String

    授权主体名称。

    arrayData

    Array

    授权内容列表,详情请参见开发参考:事件列表与消息格式

    eventType

    String

    事件类型。

消息实体格式:安全中心(表权限申请)

表权限申请前置事件的消息实体格式(即事件消息中data字段的内容)示例如下

{
  "datacontenttype": "application/json;charset=utf-8",
  "data": {
    "eventType": "approval-create-before",
    "operator":"1239****8872",
    "order":{
      "applyReason":"测试",
      "deadlineDate":"1",
      "deadlineType":"month",
      "granteeObjectList":[
        {
          "granteeId":"1239****8872"
        }
      ],
      "projectMeta":{
        "envCode":1,
        "labelSecurity":false,
        "objectMetaList":[
          {
            "action":[
              "Select",
              "Describe"
            ],
            "name":"tablei",
            "projectGuid":"odps.d11aa"
          }
        ],
        "projectId":2****0,
        "projectName":"d11aa"
      }
    },
    "projectId":2****0,
    "tenantId":5564****6465
  }
}

字段说明如下:

字段名称

字段类型

说明

operator

String

执行表权限申请前置操作的用户ID。

projectId

Long

执行表权限申请前置操作的工作空间ID。

tenantId

Long

执行表权限申请前置操作的租户ID。

order

Object

申请单信息。

applyReason

String

申请原因。

deadlineDate

String

申请单有效期。

deadlineType

String

申请单有效期的时间单位。例如,Day、Month。

granteeObjectList

Object

授权对象列表。

granteeId

String

授权对象ID,即RAM用户ID。

projectMeta

Object

工作空间信息。

envCode

Integer

工作空间环境标识,0表示开发环境,1表示生产环境。

labelSecurity

Boolean

是否开启Label级别管控:

  • true:开启。

  • false:不开启。

objectMetaList

Array

授权对象列表。

action

Array

授权动作。例如,授权拥有表的Select或Describe权限。

name

String

待申请权限的表名称。

projectGuid

String

表所在工作空间Guid。

projectName

String

表所在工作空间名称。

eventType

String

事件类型。

附录:授权内容列表(MaxCompute)

DataWorks在安全中心事件中,触发审批和表权限申请时,触发的事件消息发送至事件总线(EventBridge)消息之中会增加arrayData数据,当assignmentCategory类型为MaxCompute时,arrayData的数据内容如下:

{
    "ownerBaseId":"1822931104031845",
    "objectType":"TABLE",
    "odpsTable":"oracle_************",
    "envType":1,
    "projectGuid":"odps.***********",
    "objectGuid":"odps.******.******",
    "tenantId":0,
    "objectName":"oracle_******",
    "ownerAccountName":"ALIYUN***************",
    "odpsProject":"dataworks******",
    "projectName":"dataworks******",
    "actions":[
      "Select",
      "Describe"
    ],
    "projectId":107100,
    "workspaceId":"107100"
  }

字段说明如下:

字段名称

字段类型

说明

ownerBaseId

String

表所有者的BaseID。

ownerAccountName

String

表所有者的名称。

objectType

String

对象类型。

odpsTable

String

表名称。

envType

String

表所属环境。

projectGuid

String

项目Guid。

objectGuid

String

对象Guid。

objectName

String

对象名称。

odpsProject

String

ODPS项目名称。

projectName

String

项目代码。

projectId

Long

项目ID。

workspaceId

String

工作空间ID。

actions

Array

操作类型列表。

附录:授权内容列表(DataService)

DataWorks在安全中心事件中,触发审批以及表权限申请时,发送至事件总线(EventBridge)消息中会增加arrayData数据,当assignmentCategory类型为DataService时,arrayData的数据内容如下

{
    "resourceId":"DsApiDeploy/******/workspaceId/******/dsDeployId/******",
    "ownerName":"******",
    "resourceVersion":1,
    "name":"api_api",
    "dsDeployId":"******",
    "workspaceName":"da_******",
    "id":"******",
    "type":1,
    "ownerId":"******",
    "url":"https://******.data.aliyun.com/?projectId=******&type=api&id=******&version=***&defaultProjectId=******",
    "workspaceId":"******"
  }

字段说明如下:

字段名称

字段类型

说明

resourceId

String

资源ID。

ownerName

String

资源所有者的名称。

resourceVersion

Long

资源版本。

name

String

资源名称。

dsDeployId

String

数据服务发布ID。

workspaceName

String

工作空间名称。

id

String

资源唯一ID。

type

String

资源类型,取值如下:

  • 1:API。

  • 2:函数。

  • 3:服务编排。

ownerId

String

资源责任人BaseID。

url

String

数据服务链接地址。

workspaceId

String

工作空间ID。

数据质量事件列表

事件列表

事件类型

事件

普通事件

扩展点事件

EventBridge事件类型

(Type)

扩展程序事件类型(eventCode)

数据质量校验

校验结果反馈

  • 用户对校验结果做的反馈

image

image

dataworks:DqcCheck:DqcCheckFeedbackEvent

dqc-check-feedback-event

校验完成

  • 规则校验完毕发送规则校验结果(是否通过样本等信息)

image

image

dataworks:DqcCheck:DqcCheckFinishedEvent

dqc-check-finished-event

消息格式

消息实体格式:数据质量校验

  • 数据质量校验结果反馈事件的消息实体格式(即事件消息中data字段的内容)示例如下。

    {
      "datacontenttype": "application/json;charset=utf-8",
      "data": {
        "ruleCheckId": 521771452,
        "feedbackContent": "跳过",
        "ruleId": 28610334,
        "createUser": "110755000425****",
        "taskId": "167644814****9a26ecf4063a88797",
        "beginTime": "1676448145000",
        "envType": "ODPS",
        "projectName": "test_mc_2303_kongjian",
        "projectId": 242601,
        "tenantId": 524257424564736
      }
    }

    重要字段说明如下表。

    字段名称

    字段类型

    说明

    ruleId

    Long

    数据质量规则ID。

    ruleCheckId

    Long

    校验结果自增ID。

    feedbackContent

    String

    反馈内容。

    createUser

    String

    反馈人用户ID。

    taskid

    String

    数据质量任务的ID。

    beginTime

    String

    反馈时间。

    envType

    String

    规则关联的表所属数据源类型,包括:ODPS、EMR、HOLO。

    projectName

    String

    规则关联的表所属的数据源唯一标识。

    projectId

    Long

    DataWorks项目空间ID。

    tenantId

    Long

    DataWorks租户ID。

  • 数据质量校验完成事件的消息实体格式(即事件消息中data字段的内容)示例如下。

    {
      "datacontenttype": "application/json;charset=utf-8",
      "data": {
        "projectId": 242601,
        "tenantId": 52425742456****,
        "id": 52177****,
        "taskId": "1676463288449d1b2102ac40048aeb7a628753363****",
        "entityId": 1562***,
        "ruleId": 28610334,
        "property": "-",
        "bizdate": "2023-02-09 00:00:00",
        "dateType": "YMD",
        "actualExpression": "ds\u003d20230210",
        "matchExpression": "ds\u003d$[yyyymmdd]",
        "blockType": 1,
        "checkResult": 0,
        "eventCode": "dqc-check-finished-event",
        "checkResultStatus": 0,
        "methodName": "table_count",
        "beginTime": "2023-02-15 20:14:48",
        "endTime": "2023-02-15 20:14:55",
        "timeConsuming": "7s",
        "externalType": "CWF2",
        "externalId": "triggerByManual",
        "discrete": false,
        "fixedCheck": true,
        "referenceValue": [
          {
            "bizDate": "3000-12-31 00:00:00",
            "discreteProperty": "表行数,1天差值",
            "value": 0.0,
            "singleCheckResult": 0
          }
        ],
        "sampleValue": [
          {
            "bizDate": "2023-02-09 00:00:00",
            "value": 3.0
          }
        ],
        "trend": "\u003e\u003d",
        "expectValue": 0.0,
        "op": "\u003e\u003d",
        "projectName": "test_mc_2303_kongjian",
        "tableName": "sx_dim_1209_001",
        "templateId": 47,
        "checkerType": 0,
        "ruleName": "前一天差值",
        "isPrediction": false,
        "feedbackStatus": 0,
        "whetherToFilterDirtyData": false
      }
    }

    字段说明如下:

    字段名称

    字段类型

    说明

    id

    Long

    本次校验流程的主键ID。每触发一次规则校验,都会新增一条主键ID记录。

    projectId

    Long

    DataWorks项目空间ID

    tenantId

    Long

    DataWorks租户ID

    taskId

    String

    校验任务的ID。

    entityId

    Long

    分区表达式ID。

    ruleId

    Long

    规则ID。

    property

    String

    规则属性的字段,即被校验数据源表的column名称。

    bizdate

    Long

    业务日期。如果被校验的业务主体为离线数据,则业务日期通常为执行校验操作的前一天。

    dateType

    String

    调度周期的类型。通常为YMD,即年任务、月任务、天任务。

    actualExpression

    String

    被校验的数据源表的实际分区。

    matchExpression

    String

    分区表达式。

    blockType

    Integer

    校验规则的强弱。强弱表示规则的重要程度。取值如下:

    • 1,表示强规则。

    • 0,表示弱规则。

    您可以根据实际需求设置重要的规则为强规则。如果使用强规则并触发了红色告警,则会阻塞调度任务。

    checkResult

    Integer

    校验结果状态。取值如下:

    • -1:校验异常

    • 0:校验通过

    • 1:触发橙色阈值

    • 2:触发红色阈值

    methodName

    String

    采集样本数据的方法包括:avg、count、sum、min、max、count_distinct、user_defined、table_count、table_size、table_dt_load_count、table_dt_refuseload_count、null_value、null_value/table_count、(table_count-count_distinct)/table_count、table_count-count_distinct等。

    beginTime

    Long

    执行校验操作的开始时间。

    endTime

    Long

    查询校验结果的截止时间。

    timeConsuming

    String

    执行校验任务花费的时间。

    externalType

    String

    调度系统的类型。目前仅支持CWF2。如果externalType为空则表示是手动试跑任务。

    externalId

    String

    • externalType为CWF2时,表示调度任务的节点ID。

    • externalType为空时,取值为triggerByManual,表示为手动触发任务。

    discrete

    Boolean

    是否为离散校验。取值如下:

    • true:是离散校验。

    • false:非离散校验。

    fixedCheck

    Boolean

    是否为固定值校验。取值如下:

    • true:是固定值校验。

    • false:非固定值校验。

    referenceValue

    历史样本值。

    bizDate

    Long

    业务日期。如果被校验的业务主体为离线数据,则业务日期通常为执行校验操作的前一天。

    discreteProperty

    String

    通过group by分组后的样本字段取值。例如group by性别字段,则DiscreteProperty为男生、女生和null。

    value

    Decimal

    样本值。

    singleCheckResult

    Integer

    校验结果的字符串。

    sampleValue

    当前使用的样本。

    bizDate

    Long

    业务日期。如果被校验的业务主体为离线数据,则业务日期通常为执行校验操作的前一天。

    value

    Decimal

    样本值。

    trend

    String

    校验结果的趋势。

    expectValue

    Double

    期望值。

    op

    String

    比较符。

    projectName

    String

    需要进行数据质量校验的引擎或者数据源名称。

    tableName

    String

    进行校验的表名称。

    templateId

    Integer

    使用的校验模板的ID。

    checkerType

    Integer

    校验器的类型。

    ruleName

    String

    规则的名称。

    isPrediction

    Boolean

    是否为预测的结果。取值如下:

    • true:是预测的结果。

    • false:不是预测的结果。

    comment

    String

    校验规则的描述。

    eventCode

    String

    扩展程序事件编码。

租户级事件

租户级模块生成的是租户级事件,例如管控台删除空间所产生的事件消息。您可通过下文事件列表了解各个模块支持的事件消息中,哪些为普通事件,哪些为扩展点事件,以及对应事件的发送的消息格式。

以下消息格式页签仅包含部分内容,发送给EventBridge或函数计算的完整消息,您需要结合附录:消息格式

管控台事件列表

事件列表

事件类型

事件

普通事件

扩展点事件

EventBridge事件类型(Type)

扩展程序事件类型(eventCode)

删除项目空间

删除空间前置

image

image

dataworks:ProjectChange:DeleteProject

delete-project

删除空间后置

image

image

dataworks:ProjectChange:ProjectDeleted

project-deleted

消息格式

消息实体格式:删除项目空间事件

  • 租户删除项目空间前置事件的消息实体格式(即事件消息中data字段的内容)示例如下。

    {
     
      "data": {
        "eventCode": "delete-project",
        "projectId": 7***7, // 工作空间ID
        "tenantId": 2807****0784, // 租户ID
        "operator": "操作用户BaseId"
    }

    字段说明如下:

    字段名称

    字段类型

    说明

    operator

    String

    删除DataWorks工作空间的用户ID。

    projectId

    Long

    待删除的DataWorks工作空间ID。

    tenantId

    Long

    待删除工作空间所属的租户ID。

    eventCode

    String

    扩展程序事件编码。

  • 租户删除项目空间后置事件的消息实体格式(即事件消息中data字段的内容)示例如下。

    {
        
        "data": {
            "eventCode": "project-deleted",
            "tenantId": 605355236006144,
            "blockBusiness": false,
            "projectName": "test2",
            "projectId": 380708,
            "operator": "1493189603770213",
            "timestamp": 1702260556896
       } 
    }

    字段说明如下:

    字段名称

    字段类型

    说明

    operator

    String

    删除DataWorks工作空间的用户ID。

    projectId

    Long

    待删除的DataWorks工作空间ID。

    projectName

    String

    待删除的DataWorks工作空间名称。

    tenantId

    Long

    待删除工作空间所属的租户ID。

    timestamp

    Long

    发送消息的时间戳。

    eventCode

    String

    扩展程序事件编码。

上传与下载事件列表

事件列表

事件类型

事件

普通事件

扩展点事件

EventBridge事件类型(Type)

扩展程序事件类型(eventCode)

数据下载与上传

数据下载前置-文件生成

image

image

dataworks:ResourcesDownload:DownloadResources

download-resources

数据下载前置-文件下载

image

image

dataworks:ResourcesDownload:DownloadResourcesExecute

download-resources-execute

数据上传前置

image

image

dataworks:ResourcesUpload:UploadDataToTable

upload-data-to-table

消息格式

消息实体格式:数据下载与上传

  • “数据下载前置事件-文件生成”的消息实体格式(即事件消息中data字段的内容)示例如下。

    { 
        "data": {
            "eventCode": "download-resources",
            "moduleType": "sqlx_query",
            "operatorBaseId": "123936573******",
            "operatorUid": "14931896037*******",
            "fileName": "文件名称.csv",
            "fileSize": 10241024,
            "datasourceId": "1111",
            "datasourceName": "odps_first",
            "queryDwProjectId": "22222",
            "queryDwProjectName": "test_project",
            "dataRowSize": "123456",
            "sqlText": "select sku_code, sku_name from dim_sku",
        }

    字段说明如下:

    字段名称

    字段类型

    说明

    moduleType

    String

    下载数据的来源:

    • entity_transfer:在安全中心 > 安全策略 > 实体转交 > 转交日志下载的数据。

    • develop_query:在数据开发(DataStudio)使用SQL语句查询并下载的数据。

    • sqlx_query:在数据分析 > SQL查询使用SQL语句查询并下载的数据。

    • dw_excel:在数据分析 > 电子表格下载的数据。

    operatorBaseId

    String

    执行下载操作的用户BaseID。

    operatorUid

    String

    执行下载操作的用户UID。

    fileName

    String

    下载文件的名称。

    fileSize

    Long

    下载文件的大小。

    datasourceId

    String

    下载的数据所属的数据源ID。

    datasourceName

    String

    下载的数据所属的数据源名称。

    queryDwProjectId

    String

    下载的数据所属的DataWorks工作空间ID。

    queryDwProjectName

    String

    下载的数据所属的DataWorks工作空间标识。

    dataRowSize

    Long

    下载的数据条数。

    sqlText

    String

    通过SQL语句查询并下载数据,此处为使用的SQL代码。

    eventCode

    String

    扩展程序事件类型。

  • “数据下载前置事件-文件下载”的消息实体格式(即事件消息中data字段的内容)示例如下。

    {
      "datacontenttype": "application/json;charset=utf-8",
      "aliyunaccountid": "1493189603770213",
      "aliyunpublishtime": "2023-12-11T02:10:00.194Z",
      "data": {
        "eventCode": "download-resources-execute",
        "moduleType": "sqlx_query",
        "operatorBaseId": "123936573******",
        "operatorUid": "14931896037*******",
        "fileName": "文件名称.csv",
        "fileSize": 10241024,
        "datasourceId": "1111",
        "datasourceName": "odps_first",
        "queryDwProjectId": "22222",
        "queryDwProjectName": "test_project",
        "dataRowSize": "123456",
        "sqlText": "select sku_code, sku_name from dim_sku",
        "ip": "198.10.X.X"
      },
      "aliyunoriginalaccountid": "149318960******",
      "specversion": "1.0",
      "aliyuneventbusname": "default",
      "id": "2c3e41e5-3486-40ce-87d4-910f989cf2a7",
      "source": "acs.dataworks",
      "time": "2023-12-11T10:10:00.117Z",
      "aliyunregionid": "cn-shanghai",
      "type": "dataworks:ResourcesDownload:DownloadResourcesExecute"
    }

    重要字段说明如下表。

    字段名称

    字段类型

    说明

    moduleType

    String

    下载数据的来源:

    • entity_transfer:在安全中心 > 安全策略 > 实体转交 > 转交日志下载的数据。

    • develop_query:在数据开发(DataStudio)使用SQL语句查询并下载的数据。

    • sqlx_query:在数据分析 > SQL查询使用SQL语句查询并下载的数据。

    • dw_excel:在数据分析 > 电子表格下载的数据。

    operatorBaseId

    String

    执行下载操作的用户BaseID。

    operatorUid

    String

    执行下载操作的用户UID。

    fileName

    String

    下载文件的名称。

    fileSize

    Long

    下载文件的大小。

    datasourceId

    String

    下载的数据所属的数据源ID。

    datasourceName

    String

    下载的数据所属的数据源名称。

    queryDwProjectId

    String

    下载的数据所属的DataWorks工作空间ID。

    queryDwProjectName

    String

    下载的数据所属的DataWorks工作空间标识。

    dataRowSize

    Long

    下载的数据条数。

    sqlText

    String

    通过SQL语句查询并下载数据,此处为使用的SQL代码。

    ip

    String

    执行下载操作的用户的IP地址。

    eventCode

    String

    扩展程序事件类型。

  • 数据上传前置事件的消息实体格式(即事件消息中data字段的内容)示例如下。

    {
      "datacontenttype": "application/json;charset=utf-8",
      "aliyunaccountid": "1493189603770213",
      "aliyunpublishtime": "2023-12-11T02:10:00.194Z",
      "data": {
        "eventCode": "upload-data-to-table",
        "uploadSourceType": "LOCAL",
        "optTableType": "CREATE",
        "targetEngineType": "MAXCOMPUTE",
        "writeType": "OVERWRITE",
        "conflictMode": "IGNORE",
        "operatorBaseId": "12312*****",
        "operatorUid": "1222222*****",
        "datasourceId": "1111",
        "datasourceName": "odps_first",
        "tableGuid": "odps.mc_project.test_table",
        "queryDwProjectId": "22222",
        "queryDwProjectName": "test_project",
        "fileSize": 123456
      },
      "aliyunoriginalaccountid": "149318960******",
      "specversion": "1.0",
      "aliyuneventbusname": "default",
      "id": "2c3e41e5-3486-40ce-87d4-910f989cf2a7",
      "source": "acs.dataworks",
      "time": "2023-12-11T10:10:00.117Z",
      "aliyunregionid": "cn-shanghai",
      "type": "dataworks:ResourcesUpload:UploadDataToTable"
    }

    字段说明如下:

    字段名称

    字段类型

    说明

    uploadSourceType

    String

    上传数据的来源:

    • LOCAL:上传本地文件数据。

    • OSS:上传OSS文件数据。

    • DW_EXCEL:上传DataWorks的数据分析 > 电子表格数据。

    • HTTP:上传HTTP文件数据。

    optTableType

    String

    选择将数据上传至指定引擎数据源的已有表或新建表。取值如下:

    • CREATE:上传数据至新建表。

    • IMPORT:上传数据至已有表。

    targetEngineType

    String

    选择将数据上传至哪类引擎。取值如下:

    • MaxCompute

    • EMR Hive

    • Hologres

    writeType

    String

    数据写入至目标表的方式。取值如下:

    • OVERWRITE:覆盖原有表数据。

    • APPEND:将上传的数据追加至目标表中。

    conflictMode

    String

    上传数据时,目标表的主键冲突处理策略:

    • IGNORE:存在主键冲突时,忽略上传的数据。

    • REPLACE:存在主键冲突时,先删除冲突数据所在的行,再将上传的数据插入该行。上传数据未指定的字段会写为NULL。

    • UPDATE:上传的数据覆盖原表数据,只覆盖上传数据指定的字段,未指定字段数据保持不变。

    operatorBaseId

    String

    执行上传操作的用户BaseID。

    operatorUid

    String

    执行上传操作的用户UID。

    datasourceId

    String

    上传数据至哪个数据源,此处填写数据源ID。

    datasourceName

    String

    上传数据至哪个数据源,此处填写数据源名称。

    tableGuid

    String

    表的Guid。示例如下:

    • MaxCompute:odps.maxcomputeProject.tableName

    • EMR_Hive:emr_hive.emr集群id.schema.tableName

    • Holo:holo.hologres实例id.database

    queryDwProjectId

    String

    表所属的DataWorks工作空间ID。

    queryDwProjectName

    String

    表所属的DataWorks工作空间名称。

    fileSize

    Long

    上传文件的大小,单位为字节。

    eventCode

    String

    扩展程序事件编码。

附录:消息格式

发送给EventBridge的消息格式

在配置开放事件(OpenEvent)添加事件分发通道后,若在DataWorks内触发空间级租户级事件后,会按照在事件总线(EventBridge)中的配置的事件类型(Type)进行过滤,以下为DataWorks通过事件分发通道发送至事件总线EventBridge的消息格式。

{ 
 "datacontenttype": "application/json;charset=utf-8",//参数data的内容形式。datacontenttype只支持application/json格式。
  "data": {
 //消息类型不同,消息内容也不同。以下为消息中固定的两个字段。各事件消息请参见上文。
 "tenantId": 28378****10656,//租户id,DataWorks每个阿里云主账号对应一个租户,每个租户有自己的租户id,该值您可在DataWorks数据开发右上角用户信息查看。
 "eventCode": "xxxx"//
  },
  "id": "539fd8f4-4ea1-4625-aa8b-6c906674****",//事件ID。标识事件的唯一值。
  "source": "acs.dataworks",//事件源,提供事件的服务,说明此消息由dataworks推送。
  "specversion": "1.0",
  "subject": "",
  "time": "2020-11-19T21:04:41+08:00",//事件产生时间。
  "type": "dataworks:InstanceStatusChanges:InstanceStatusChanges",//事件类型。该事件类型可在EventBridge控制台对DataWorks推送的全量消息进行过滤,每个事件的事件Type值不同,请参见上文获取不同事件消息类型。
  "aliyunaccountid": "123456789098****",//阿里云主账号ID
  "aliyunpublishtime": "2020-11-19T21:04:42.179PRC",//EventBridge接收事件的时间。
  "aliyuneventbusname": "default",//用于接收DataWorks事件消息的EventBridge事件总线名称。
  "aliyunregionid": "cn-hangzhou",//接收事件的地域。
  "aliyunpublishaddr": "172.25.XX.XX"
}

一个完整的事件消息包括消息的实体格式,以及消息的ID、来源、产生时间等基础信息。其中,重要字段的详细说明如下表。

字段名称

字段类型

说明

data

object

消息实体格式。不同类型事件的消息格式及其包含的字段含义存在差异,详情请参见:

数据开发事件消息格式:数据开发事件列表

运维中心事件消息格式:运维中心事件列表

安全中心事件消息格式:安全中心事件列表

数据质量事件消息格式:数据质量事件列表

id

String

事件消息的唯一ID。用于定位事件消息。

type

String

事件类型。用于描述事件源相关的事件类型。取值示例如下:

  • dataworks:FileChange:CommitFile:表示提交文件。

  • dataworks:FileChange:DeployFile:表示发布文件。

该事件类型可在EventBridge控制台对DataWorks推送的全量消息进行过滤,每个事件的事件Type值不同,请参见上文获取不同事件消息类型。

发送给函数计算的消息格式

在DataWorks上配置扩展程序(Extensions):函数计算方式时,DataWorks会将触发对应的扩展点事件时的消息以JSON的形式将消息发送至函数计算,以下为发送至函数计算的消息格式。

{
	"blockBusiness": true,
	"eventCategoryType": "resources-download",//事件类别
	"eventType": "upload-data-to-table",//事件类型
	"extensionBizId": "job_6603643923728775070",
	"messageBody": {
             //消息类型不同,消息内容也不同。以下为消息中固定的两个字段。各事件消息请参见上文。
             "tenantId": 28378****10656,//租户id,DataWorks每个阿里云主账号对应一个租户,每个租户有自己的租户id,该值您可在DataWorks数据开发右上角用户信息查看。
             "eventCode": "xxxx"//
	},
	"messageId": "52d44ee7-b51f-4d4d-afeb-*******"//事件ID。标识事件的唯一值。
}

重要字段详细说明如下:

字段名称

字段类型

说明

messageId

String

事件ID,标识事件的唯一值。

messageBody

DataWorks推送的具体事件消息,您可在开发扩展程序中使用,消息类型不同,此部分内容也不同。

tenantId

租户id,DataWorks每个阿里云主账号对应一个租户,每个租户有自己的租户id,该值您可在DataWorks数据开发右上角用户信息查看

eventCode

事件编码。用于标识某一类事件消息,各事件类型对应的eventCode请查阅开发参考:事件列表与消息格式表格中扩展程序事件类型(eventCode)列。